<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>throw [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_control.html">Control</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div data-if="dotnet" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="cpp" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="c" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="python" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="hdevelop" style="display:inline">
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">throw</span><span data-if="c" style="display:none;">T_throw</span><span data-if="cpp" style="display:none;">Throw</span><span data-if="dotnet" style="display:none;">Throw</span><span data-if="python" style="display:none;">throw</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">throw</span><span data-if="c" style="display:none;">T_throw</span><span data-if="cpp" style="display:none;">Throw</span><span data-if="dotnet" style="display:none;">Throw</span><span data-if="python" style="display:none;">throw</span></code> — Throws a user-defined exception or rethrows a caught exception.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>throw</b>( :  : <a href="#Exception"><i>Exception</i></a> : )</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_throw</b>(const Htuple <a href="#Exception"><i>Exception</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>Throw</b>(const HTuple&amp; <a href="#Exception"><i>Exception</i></a>)</code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>Throw</b>(<a href="HTuple.html">HTuple</a> <a href="#Exception"><i>exception</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>throw</b>(<a href="#Exception"><i>exception</i></a>: Sequence[Union[int, str]]) -&gt; None</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>With the help of 该算子s <a href="try.html"><code><span data-if="hdevelop" style="display:inline">try</span><span data-if="c" style="display:none">try</span><span data-if="cpp" style="display:none">Try</span><span data-if="com" style="display:none">Try</span><span data-if="dotnet" style="display:none">Try</span><span data-if="python" style="display:none">try</span></code></a>, <a href="catch.html"><code><span data-if="hdevelop" style="display:inline">catch</span><span data-if="c" style="display:none">catch</span><span data-if="cpp" style="display:none">Catch</span><span data-if="com" style="display:none">Catch</span><span data-if="dotnet" style="display:none">Catch</span><span data-if="python" style="display:none">catch</span></code></a>, <a href="endtry.html"><code><span data-if="hdevelop" style="display:inline">endtry</span><span data-if="c" style="display:none">endtry</span><span data-if="cpp" style="display:none">Endtry</span><span data-if="com" style="display:none">Endtry</span><span data-if="dotnet" style="display:none">Endtry</span><span data-if="python" style="display:none">endtry</span></code></a>,
and <code><span data-if="hdevelop" style="display:inline">throw</span><span data-if="c" style="display:none">throw</span><span data-if="cpp" style="display:none">Throw</span><span data-if="com" style="display:none">Throw</span><span data-if="dotnet" style="display:none">Throw</span><span data-if="python" style="display:none">throw</span></code> it is possible to implement a dynamic exception handling
in HDevelop, which is comparable to the exception handling in C++
and C#.  The basic concepts of the exception handling in HDevelop are
also described at 该算子s <a href="try.html"><code><span data-if="hdevelop" style="display:inline">try</span><span data-if="c" style="display:none">try</span><span data-if="cpp" style="display:none">Try</span><span data-if="com" style="display:none">Try</span><span data-if="dotnet" style="display:none">Try</span><span data-if="python" style="display:none">try</span></code></a>, and
<a href="dev_set_check.html"><code><span data-if="hdevelop" style="display:inline">dev_set_check</span><span data-if="c" style="display:none">dev_set_check</span><span data-if="cpp" style="display:none">DevSetCheck</span><span data-if="com" style="display:none">DevSetCheck</span><span data-if="dotnet" style="display:none">DevSetCheck</span><span data-if="python" style="display:none">dev_set_check</span></code></a> as well as in the <code>“HDevelop User's Guide”</code>.
</p>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">throw</span><span data-if="c" style="display:none">throw</span><span data-if="cpp" style="display:none">Throw</span><span data-if="com" style="display:none">Throw</span><span data-if="dotnet" style="display:none">Throw</span><span data-if="python" style="display:none">throw</span></code> provides an opportunity to throw an exception
from an arbitrary place in the program.
This exception can be caught by the <a href="catch.html"><code><span data-if="hdevelop" style="display:inline">catch</span><span data-if="c" style="display:none">catch</span><span data-if="cpp" style="display:none">Catch</span><span data-if="com" style="display:none">Catch</span><span data-if="dotnet" style="display:none">Catch</span><span data-if="python" style="display:none">catch</span></code></a> operator of a
surrounding <a href="try.html"><code><span data-if="hdevelop" style="display:inline">try</span><span data-if="c" style="display:none">try</span><span data-if="cpp" style="display:none">Try</span><span data-if="com" style="display:none">Try</span><span data-if="dotnet" style="display:none">Try</span><span data-if="python" style="display:none">try</span></code></a>-<a href="catch.html"><code><span data-if="hdevelop" style="display:inline">catch</span><span data-if="c" style="display:none">catch</span><span data-if="cpp" style="display:none">Catch</span><span data-if="com" style="display:none">Catch</span><span data-if="dotnet" style="display:none">Catch</span><span data-if="python" style="display:none">catch</span></code></a> block.
By this means the developer is able to define his own specific error or
exception states, for which the normal program execution is aborted in
order to continue with a specific cross-procedure exception handling,
e.g., for freeing resources or restarting from a defined state.
</p>
<p>In such a user-defined exception a nearly arbitrary tuple can be thrown
as the <a href="#Exception"><i><code><span data-if="hdevelop" style="display:inline">Exception</span><span data-if="c" style="display:none">Exception</span><span data-if="cpp" style="display:none">Exception</span><span data-if="com" style="display:none">Exception</span><span data-if="dotnet" style="display:none">exception</span><span data-if="python" style="display:none">exception</span></code></i></a> parameter, merely the first element of the tuple
should be set to a user-defined error code &gt;= 30000.
</p>
<p>In addition, with the help of 该算子 <code><span data-if="hdevelop" style="display:inline">throw</span><span data-if="c" style="display:none">throw</span><span data-if="cpp" style="display:none">Throw</span><span data-if="com" style="display:none">Throw</span><span data-if="dotnet" style="display:none">Throw</span><span data-if="python" style="display:none">throw</span></code> it is possible to
rethrow an exception that was caught with 该算子 <a href="catch.html"><code><span data-if="hdevelop" style="display:inline">catch</span><span data-if="c" style="display:none">catch</span><span data-if="cpp" style="display:none">Catch</span><span data-if="com" style="display:none">Catch</span><span data-if="dotnet" style="display:none">Catch</span><span data-if="python" style="display:none">catch</span></code></a>.
This may be sensible, for instance, if within an inner
<a href="try.html"><code><span data-if="hdevelop" style="display:inline">try</span><span data-if="c" style="display:none">try</span><span data-if="cpp" style="display:none">Try</span><span data-if="com" style="display:none">Try</span><span data-if="dotnet" style="display:none">Try</span><span data-if="python" style="display:none">try</span></code></a>-<a href="catch.html"><code><span data-if="hdevelop" style="display:inline">catch</span><span data-if="c" style="display:none">catch</span><span data-if="cpp" style="display:none">Catch</span><span data-if="com" style="display:none">Catch</span><span data-if="dotnet" style="display:none">Catch</span><span data-if="python" style="display:none">catch</span></code></a>-<a href="endtry.html"><code><span data-if="hdevelop" style="display:inline">endtry</span><span data-if="c" style="display:none">endtry</span><span data-if="cpp" style="display:none">Endtry</span><span data-if="com" style="display:none">Endtry</span><span data-if="dotnet" style="display:none">Endtry</span><span data-if="python" style="display:none">endtry</span></code></a> block (e.g., within an external
procedure) only specific exceptions can be handled in an adequate way and
all other exceptions must be passed to the caller, where they can be caught
and handled by an outer <a href="try.html"><code><span data-if="hdevelop" style="display:inline">try</span><span data-if="c" style="display:none">try</span><span data-if="cpp" style="display:none">Try</span><span data-if="com" style="display:none">Try</span><span data-if="dotnet" style="display:none">Try</span><span data-if="python" style="display:none">try</span></code></a>-<a href="catch.html"><code><span data-if="hdevelop" style="display:inline">catch</span><span data-if="c" style="display:none">catch</span><span data-if="cpp" style="display:none">Catch</span><span data-if="com" style="display:none">Catch</span><span data-if="dotnet" style="display:none">Catch</span><span data-if="python" style="display:none">catch</span></code></a>-<a href="endtry.html"><code><span data-if="hdevelop" style="display:inline">endtry</span><span data-if="c" style="display:none">endtry</span><span data-if="cpp" style="display:none">Endtry</span><span data-if="com" style="display:none">Endtry</span><span data-if="dotnet" style="display:none">Endtry</span><span data-if="python" style="display:none">endtry</span></code></a> block.
</p>For rethrowing a caught exception, it is possible to pass the
<a href="#Exception"><i><code><span data-if="hdevelop" style="display:inline">Exception</span><span data-if="c" style="display:none">Exception</span><span data-if="cpp" style="display:none">Exception</span><span data-if="com" style="display:none">Exception</span><span data-if="dotnet" style="display:none">exception</span><span data-if="python" style="display:none">exception</span></code></i></a> tuple that was caught by the <a href="catch.html"><code><span data-if="hdevelop" style="display:inline">catch</span><span data-if="c" style="display:none">catch</span><span data-if="cpp" style="display:none">Catch</span><span data-if="com" style="display:none">Catch</span><span data-if="dotnet" style="display:none">Catch</span><span data-if="python" style="display:none">catch</span></code></a> operator
directly to the <a href="#Exception"><i><code><span data-if="hdevelop" style="display:inline">Exception</span><span data-if="c" style="display:none">Exception</span><span data-if="cpp" style="display:none">Exception</span><span data-if="com" style="display:none">Exception</span><span data-if="dotnet" style="display:none">exception</span><span data-if="python" style="display:none">exception</span></code></i></a> parameter of the <code><span data-if="hdevelop" style="display:inline">throw</span><span data-if="c" style="display:none">throw</span><span data-if="cpp" style="display:none">Throw</span><span data-if="com" style="display:none">Throw</span><span data-if="dotnet" style="display:none">Throw</span><span data-if="python" style="display:none">throw</span></code> operator.
Furthermore, it is possible to append arbitrary (but no iconic) user
data to the <a href="#Exception"><i><code><span data-if="hdevelop" style="display:inline">Exception</span><span data-if="c" style="display:none">Exception</span><span data-if="cpp" style="display:none">Exception</span><span data-if="com" style="display:none">Exception</span><span data-if="dotnet" style="display:none">exception</span><span data-if="python" style="display:none">exception</span></code></i></a> tuple, that can be accessed after catching
the exception as <i><span data-if="hdevelop" style="display:inline">'user_data'</span><span data-if="c" style="display:none">"user_data"</span><span data-if="cpp" style="display:none">"user_data"</span><span data-if="com" style="display:none">"user_data"</span><span data-if="dotnet" style="display:none">"user_data"</span><span data-if="python" style="display:none">"user_data"</span></i> with 该算子
<a href="dev_get_exception_data.html"><code><span data-if="hdevelop" style="display:inline">dev_get_exception_data</span><span data-if="c" style="display:none">dev_get_exception_data</span><span data-if="cpp" style="display:none">DevGetExceptionData</span><span data-if="com" style="display:none">DevGetExceptionData</span><span data-if="dotnet" style="display:none">DevGetExceptionData</span><span data-if="python" style="display:none">dev_get_exception_data</span></code></a>:
<div style="text-align:center"><table style="width:90%;margin-left:auto;margin-right:auto" class="layout">
<col span="1" style="width:90%;">
<tr><td style="text-align:left">
<a href="try.html"><code><span data-if="hdevelop" style="display:inline">try</span><span data-if="c" style="display:none">try</span><span data-if="cpp" style="display:none">Try</span><span data-if="com" style="display:none">Try</span><span data-if="dotnet" style="display:none">Try</span><span data-if="python" style="display:none">try</span></code></a>
</td></tr>
<tr><td style="text-align:left">
<span title="1" style="vertical-align:-0.0991602em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="2.11853em" height="0.573321em" viewBox="0 0 33.896439 9.173141">
<!-- Original BoundingBox: -16.948227 -4.586578 16.948212 4.586563 -->
</svg></span><code>...</code>
</td></tr>
<tr><td style="text-align:left">
<a href="catch.html"><code><span data-if="hdevelop" style="display:inline">catch(Exception)</span><span data-if="c" style="display:none">catch(Exception)</span><span data-if="cpp" style="display:none">Catch(Exception)</span><span data-if="com" style="display:none">Catch(Exception)</span><span data-if="dotnet" style="display:none">Catch(Exception)</span><span data-if="python" style="display:none">catch(Exception)</span></code></a>
</td></tr>
<tr><td style="text-align:left">
<span title="2" style="vertical-align:-0.0991602em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="2.11853em" height="0.573321em" viewBox="0 0 33.896439 9.173141">
<!-- Original BoundingBox: -16.948227 -4.586578 16.948212 4.586563 -->
</svg></span><code>...</code>
</td></tr>
<tr><td style="text-align:left">
<span title="3" style="vertical-align:-0.0991602em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="2.11853em" height="0.573321em" viewBox="0 0 33.896439 9.173141">
<!-- Original BoundingBox: -16.948227 -4.586578 16.948212 4.586563 -->
</svg></span><code>UserData := ...</code>
</td></tr>
<tr><td style="text-align:left">
<span title="4" style="vertical-align:-0.0991602em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="2.11853em" height="0.573321em" viewBox="0 0 33.896439 9.173141">
<!-- Original BoundingBox: -16.948227 -4.586578 16.948212 4.586563 -->
</svg></span><code><span data-if="hdevelop" style="display:inline">throw([Exception, UserData])</span><span data-if="c" style="display:none">throw([Exception, UserData])</span><span data-if="cpp" style="display:none">Throw([Exception, UserData])</span><span data-if="com" style="display:none">Throw([Exception, UserData])</span><span data-if="dotnet" style="display:none">Throw([Exception, UserData])</span><span data-if="python" style="display:none">throw([Exception, UserData])</span></code>
</td></tr>
<tr><td style="text-align:left">
<a href="endtry.html"><code><span data-if="hdevelop" style="display:inline">endtry</span><span data-if="c" style="display:none">endtry</span><span data-if="cpp" style="display:none">Endtry</span><span data-if="com" style="display:none">Endtry</span><span data-if="dotnet" style="display:none">Endtry</span><span data-if="python" style="display:none">endtry</span></code></a>
</td></tr>
</table></div>
<h2 id="sec_attention">注意</h2>
<p>The export of 该算子s <a href="try.html"><code><span data-if="hdevelop" style="display:inline">try</span><span data-if="c" style="display:none">try</span><span data-if="cpp" style="display:none">Try</span><span data-if="com" style="display:none">Try</span><span data-if="dotnet" style="display:none">Try</span><span data-if="python" style="display:none">try</span></code></a>, <a href="catch.html"><code><span data-if="hdevelop" style="display:inline">catch</span><span data-if="c" style="display:none">catch</span><span data-if="cpp" style="display:none">Catch</span><span data-if="com" style="display:none">Catch</span><span data-if="dotnet" style="display:none">Catch</span><span data-if="python" style="display:none">catch</span></code></a>, <a href="endtry.html"><code><span data-if="hdevelop" style="display:inline">endtry</span><span data-if="c" style="display:none">endtry</span><span data-if="cpp" style="display:none">Endtry</span><span data-if="com" style="display:none">Endtry</span><span data-if="dotnet" style="display:none">Endtry</span><span data-if="python" style="display:none">endtry</span></code></a>,
and <code><span data-if="hdevelop" style="display:inline">throw</span><span data-if="c" style="display:none">throw</span><span data-if="cpp" style="display:none">Throw</span><span data-if="com" style="display:none">Throw</span><span data-if="dotnet" style="display:none">Throw</span><span data-if="python" style="display:none">throw</span></code> is not supported for the language C, but only for the
languages C++, C# and VisualBasic/.NET.
Only the latter support throwing exceptions across procedures.
</p>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="Exception" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Exception</span><span data-if="c" style="display:none">Exception</span><span data-if="cpp" style="display:none">Exception</span><span data-if="com" style="display:none">Exception</span><span data-if="dotnet" style="display:none">exception</span><span data-if="python" style="display:none">exception</span></code></b> (input_control)  </span><span>exception-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[int, str]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer / </span><span data-if="hdevelop" style="display:inline">string)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long / </span><span data-if="dotnet" style="display:none">string)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i> / </span><span data-if="cpp" style="display:none">HString)</span><span data-if="c" style="display:none"> (<i>Hlong</i> / </span><span data-if="c" style="display:none">char*)</span></span>
</div>
<p class="pardesc">Tuple returning the exception data or user defined
error codes.</p>
</div>
<h2 id="sec_result">结果</h2>
<p>If the values of the specified parameters are correct,
<code><span data-if="hdevelop" style="display:inline">throw</span><span data-if="c" style="display:none">throw</span><span data-if="cpp" style="display:none">Throw</span><span data-if="com" style="display:none">Throw</span><span data-if="dotnet" style="display:none">Throw</span><span data-if="python" style="display:none">throw</span></code> (as operator) returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
    .  Otherwise, an
exception is raised and an error code returned.</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="try.html"><span data-if="hdevelop" style="display:inline">try</span><span data-if="c" style="display:none">try</span><span data-if="cpp" style="display:none">Try</span><span data-if="com" style="display:none">Try</span><span data-if="dotnet" style="display:none">Try</span><span data-if="python" style="display:none">try</span></a></code>, 
<code><a href="catch.html"><span data-if="hdevelop" style="display:inline">catch</span><span data-if="c" style="display:none">catch</span><span data-if="cpp" style="display:none">Catch</span><span data-if="com" style="display:none">Catch</span><span data-if="dotnet" style="display:none">Catch</span><span data-if="python" style="display:none">catch</span></a></code>, 
<code><a href="endtry.html"><span data-if="hdevelop" style="display:inline">endtry</span><span data-if="c" style="display:none">endtry</span><span data-if="cpp" style="display:none">Endtry</span><span data-if="com" style="display:none">Endtry</span><span data-if="dotnet" style="display:none">Endtry</span><span data-if="python" style="display:none">endtry</span></a></code>, 
<code><a href="dev_get_exception_data.html"><span data-if="hdevelop" style="display:inline">dev_get_exception_data</span><span data-if="c" style="display:none">dev_get_exception_data</span><span data-if="cpp" style="display:none">DevGetExceptionData</span><span data-if="com" style="display:none">DevGetExceptionData</span><span data-if="dotnet" style="display:none">DevGetExceptionData</span><span data-if="python" style="display:none">dev_get_exception_data</span></a></code>, 
<code><a href="dev_set_check.html"><span data-if="hdevelop" style="display:inline">dev_set_check</span><span data-if="c" style="display:none">dev_set_check</span><span data-if="cpp" style="display:none">DevSetCheck</span><span data-if="com" style="display:none">DevSetCheck</span><span data-if="dotnet" style="display:none">DevSetCheck</span><span data-if="python" style="display:none">dev_set_check</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Foundation</p>
</div>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
